[INFO] fetching crate ic_bls12_381 0.8.0...
[INFO] checking ic_bls12_381-0.8.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate ic_bls12_381 0.8.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate ic_bls12_381 0.8.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain
[INFO] started tweaking crates.io crate ic_bls12_381 0.8.0
[INFO] finished tweaking crates.io crate ic_bls12_381 0.8.0
[INFO] tweaked toml for crates.io crate ic_bls12_381 0.8.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 438304b745b6058e427419ac5a12affdad87de371fdcd31060bfb78a28d29772
[INFO] running `Command { std: "docker" "start" "-a" "438304b745b6058e427419ac5a12affdad87de371fdcd31060bfb78a28d29772", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "438304b745b6058e427419ac5a12affdad87de371fdcd31060bfb78a28d29772", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "438304b745b6058e427419ac5a12affdad87de371fdcd31060bfb78a28d29772", kill_on_drop: false }`
[INFO] [stdout] 438304b745b6058e427419ac5a12affdad87de371fdcd31060bfb78a28d29772
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] adc3e1acac1114ac9f539d0fbf22bf7c55a2e6b1fe1bf1ee7a0cd6cbe0123db9
[INFO] running `Command { std: "docker" "start" "-a" "adc3e1acac1114ac9f539d0fbf22bf7c55a2e6b1fe1bf1ee7a0cd6cbe0123db9", kill_on_drop: false }`
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking block-padding v0.2.1
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking criterion-plot v0.4.5
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking ff v0.12.1
[INFO] [stderr]     Checking group v0.12.1
[INFO] [stderr]     Checking pairing v0.22.0
[INFO] [stderr]     Checking ic_bls12_381 v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking criterion v0.3.6
[INFO] [stdout] error[E0463]: can't find crate for `bls12_381`
[INFO] [stdout]  --> benches/groups.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | extern crate bls12_381;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let g = G1Affine::generator();
[INFO] [stdout]    |                 ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]   --> benches/groups.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let h = G2Affine::generator();
[INFO] [stdout]    |                 ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G2Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, found crate `pairing`
[INFO] [stdout]   --> benches/groups.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 |             b.iter(|| pairing(black_box(&g), black_box(&h)))
[INFO] [stdout]    |                       ^^^^^^^ not a function
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function instead
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::pairing;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Prepared`
[INFO] [stdout]   --> benches/groups.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |             b.iter(|| G2Prepared::from(h))
[INFO] [stdout]    |                       ^^^^^^^^^^ use of undeclared type `G2Prepared`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G2Prepared;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Prepared`
[INFO] [stdout]   --> benches/groups.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let prep = G2Prepared::from(h);
[INFO] [stdout]    |                    ^^^^^^^^^^ use of undeclared type `G2Prepared`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G2Prepared;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `multi_miller_loop` in this scope
[INFO] [stdout]   --> benches/groups.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |             b.iter(|| multi_miller_loop(&[(&g, &prep)]))
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::multi_miller_loop;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Prepared`
[INFO] [stdout]   --> benches/groups.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let prep = G2Prepared::from(h);
[INFO] [stdout]    |                    ^^^^^^^^^^ use of undeclared type `G2Prepared`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G2Prepared;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `multi_miller_loop` in this scope
[INFO] [stdout]   --> benches/groups.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let r = multi_miller_loop(&[(&g, &prep)]);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::multi_miller_loop;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let a = G1Affine::generator();
[INFO] [stdout]    |                 ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Scalar`
[INFO] [stdout]   --> benches/groups.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let s = Scalar::from_raw([1, 2, 3, 4]);
[INFO] [stdout]    |                 ^^^^^^ use of undeclared type `Scalar`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::Scalar;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:51:32
[INFO] [stdout]    |
[INFO] [stdout] 51 |             move |b| b.iter(|| G1Affine::from_compressed(black_box(&compressed))),
[INFO] [stdout]    |                                ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:55:32
[INFO] [stdout]    |
[INFO] [stdout] 55 |             move |b| b.iter(|| G1Affine::from_uncompressed(black_box(&uncompressed))),
[INFO] [stdout]    |                                ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Projective`
[INFO] [stdout]   --> benches/groups.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let a = G1Projective::generator();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ use of undeclared type `G1Projective`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Projective;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:63:24
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let a_affine = G1Affine::generator();
[INFO] [stdout]    |                        ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Scalar`
[INFO] [stdout]   --> benches/groups.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let s = Scalar::from_raw([1, 2, 3, 4]);
[INFO] [stdout]    |                 ^^^^^^ use of undeclared type `Scalar`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::Scalar;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Projective`
[INFO] [stdout]   --> benches/groups.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let v = vec![G1Projective::generator(); N];
[INFO] [stdout]    |                      ^^^^^^^^^^^^ use of undeclared type `G1Projective`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Projective;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut q = vec![G1Affine::identity(); N];
[INFO] [stdout]    |                          ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |             b.iter(|| G1Affine::from(black_box(a)))
[INFO] [stdout]    |                       ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Projective`
[INFO] [stdout]   --> benches/groups.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 G1Projective::batch_normalize(black_box(&v), black_box(&mut q));
[INFO] [stdout]    |                 ^^^^^^^^^^^^ use of undeclared type `G1Projective`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Projective;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let a = G2Affine::generator();
[INFO] [stdout]     |                 ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Scalar`
[INFO] [stdout]    --> benches/groups.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let s = Scalar::from_raw([1, 2, 3, 4]);
[INFO] [stdout]     |                 ^^^^^^ use of undeclared type `Scalar`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::Scalar;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |             move |b| b.iter(|| G2Affine::from_compressed(black_box(&compressed))),
[INFO] [stdout]     |                                ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:124:32
[INFO] [stdout]     |
[INFO] [stdout] 124 |             move |b| b.iter(|| G2Affine::from_uncompressed(black_box(&uncompressed))),
[INFO] [stdout]     |                                ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Projective`
[INFO] [stdout]    --> benches/groups.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let a = G2Projective::generator();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ use of undeclared type `G2Projective`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Projective;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let a_affine = G2Affine::generator();
[INFO] [stdout]     |                        ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Scalar`
[INFO] [stdout]    --> benches/groups.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let s = Scalar::from_raw([1, 2, 3, 4]);
[INFO] [stdout]     |                 ^^^^^^ use of undeclared type `Scalar`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::Scalar;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Projective`
[INFO] [stdout]    --> benches/groups.rs:136:22
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let v = vec![G2Projective::generator(); N];
[INFO] [stdout]     |                      ^^^^^^^^^^^^ use of undeclared type `G2Projective`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Projective;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:137:26
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let mut q = vec![G2Affine::identity(); N];
[INFO] [stdout]     |                          ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:146:23
[INFO] [stdout]     |
[INFO] [stdout] 146 |             b.iter(|| G2Affine::from(black_box(a)))
[INFO] [stdout]     |                       ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Projective`
[INFO] [stdout]    --> benches/groups.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |                 G2Projective::batch_normalize(black_box(&v), black_box(&mut q));
[INFO] [stdout]     |                 ^^^^^^^^^^^^ use of undeclared type `G2Projective`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Projective;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 31 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0425, E0433, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ic_bls12_381` (bench "groups") due to 32 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "adc3e1acac1114ac9f539d0fbf22bf7c55a2e6b1fe1bf1ee7a0cd6cbe0123db9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "adc3e1acac1114ac9f539d0fbf22bf7c55a2e6b1fe1bf1ee7a0cd6cbe0123db9", kill_on_drop: false }`
[INFO] [stdout] adc3e1acac1114ac9f539d0fbf22bf7c55a2e6b1fe1bf1ee7a0cd6cbe0123db9
[INFO] checking ic_bls12_381-0.8.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate ic_bls12_381 0.8.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate ic_bls12_381 0.8.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain
[INFO] started tweaking crates.io crate ic_bls12_381 0.8.0
[INFO] finished tweaking crates.io crate ic_bls12_381 0.8.0
[INFO] tweaked toml for crates.io crate ic_bls12_381 0.8.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b20c52e2fa0cdd7e09128d7199507e4e465f59f2d30e054f3d1bda8eedbf0794
[INFO] running `Command { std: "docker" "start" "-a" "b20c52e2fa0cdd7e09128d7199507e4e465f59f2d30e054f3d1bda8eedbf0794", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b20c52e2fa0cdd7e09128d7199507e4e465f59f2d30e054f3d1bda8eedbf0794", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b20c52e2fa0cdd7e09128d7199507e4e465f59f2d30e054f3d1bda8eedbf0794", kill_on_drop: false }`
[INFO] [stdout] b20c52e2fa0cdd7e09128d7199507e4e465f59f2d30e054f3d1bda8eedbf0794
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7f529928184b886438fa8622e0d03da01beefec989898b589bc23ae0efe4faa1
[INFO] running `Command { std: "docker" "start" "-a" "7f529928184b886438fa8622e0d03da01beefec989898b589bc23ae0efe4faa1", kill_on_drop: false }`
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking block-padding v0.2.1
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking criterion-plot v0.4.5
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking keccak v0.1.5
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking ff v0.12.1
[INFO] [stderr]     Checking group v0.12.1
[INFO] [stderr]     Checking pairing v0.22.0
[INFO] [stderr]     Checking ic_bls12_381 v0.8.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:234:66
[INFO] [stdout]     |
[INFO] [stdout] 234 |         tmp.0[0] = u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[0..8]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:235:66
[INFO] [stdout]     |
[INFO] [stdout] 235 |         tmp.0[1] = u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[8..16]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:236:66
[INFO] [stdout]     |
[INFO] [stdout] 236 |         tmp.0[2] = u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[16..24]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:237:66
[INFO] [stdout]     |
[INFO] [stdout] 237 |         tmp.0[3] = u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[24..32]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         res[0..8].copy_from_slice(&tmp.0[0].to_le_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         res[8..16].copy_from_slice(&tmp.0[1].to_le_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |         res[16..24].copy_from_slice(&tmp.0[2].to_le_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         res[24..32].copy_from_slice(&tmp.0[3].to_le_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:277:59
[INFO] [stdout]     |
[INFO] [stdout] 277 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[0..8]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:278:59
[INFO] [stdout]     |
[INFO] [stdout] 278 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[8..16]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:279:59
[INFO] [stdout]     |
[INFO] [stdout] 279 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[16..24]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:280:59
[INFO] [stdout]     |
[INFO] [stdout] 280 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[24..32]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:281:59
[INFO] [stdout]     |
[INFO] [stdout] 281 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[32..40]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:282:59
[INFO] [stdout]     |
[INFO] [stdout] 282 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[40..48]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:283:59
[INFO] [stdout]     |
[INFO] [stdout] 283 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[48..56]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:284:59
[INFO] [stdout]     |
[INFO] [stdout] 284 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[56..64]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/scalar.rs:367:23
[INFO] [stdout]     |
[INFO] [stdout] 367 |         for max_v in (1..=S).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:372:22
[INFO] [stdout]     |
[INFO] [stdout] 372 |             for j in 2..max_v {
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:400:23
[INFO] [stdout]     |
[INFO] [stdout] 400 |             for i in (0..64).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:419:23
[INFO] [stdout]     |
[INFO] [stdout] 419 |             for i in (0..64).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:435:22
[INFO] [stdout]     |
[INFO] [stdout] 435 |             for _ in 0..num_times {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:756:38
[INFO] [stdout]     |
[INFO] [stdout] 756 |             u64::from_le_bytes(bytes[0..8].try_into().unwrap()),
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:757:38
[INFO] [stdout]     |
[INFO] [stdout] 757 |             u64::from_le_bytes(bytes[8..16].try_into().unwrap()),
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:758:38
[INFO] [stdout]     |
[INFO] [stdout] 758 |             u64::from_le_bytes(bytes[16..24].try_into().unwrap()),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:759:38
[INFO] [stdout]     |
[INFO] [stdout] 759 |             u64::from_le_bytes(bytes[24..32].try_into().unwrap()),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:182:66
[INFO] [stdout]     |
[INFO] [stdout] 182 |         tmp.0[5] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[0..8]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:183:66
[INFO] [stdout]     |
[INFO] [stdout] 183 |         tmp.0[4] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[8..16]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:184:66
[INFO] [stdout]     |
[INFO] [stdout] 184 |         tmp.0[3] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[16..24]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:185:66
[INFO] [stdout]     |
[INFO] [stdout] 185 |         tmp.0[2] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[24..32]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:186:66
[INFO] [stdout]     |
[INFO] [stdout] 186 |         tmp.0[1] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[32..40]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:187:66
[INFO] [stdout]     |
[INFO] [stdout] 187 |         tmp.0[0] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[40..48]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         res[0..8].copy_from_slice(&tmp.0[5].to_be_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |         res[8..16].copy_from_slice(&tmp.0[4].to_be_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         res[16..24].copy_from_slice(&tmp.0[3].to_be_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |         res[24..32].copy_from_slice(&tmp.0[2].to_be_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         res[32..40].copy_from_slice(&tmp.0[1].to_be_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         res[40..48].copy_from_slice(&tmp.0[0].to_be_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:235:59
[INFO] [stdout]     |
[INFO] [stdout] 235 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[0..8]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:236:59
[INFO] [stdout]     |
[INFO] [stdout] 236 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[8..16]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:237:59
[INFO] [stdout]     |
[INFO] [stdout] 237 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[16..24]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:238:59
[INFO] [stdout]     |
[INFO] [stdout] 238 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[24..32]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:239:59
[INFO] [stdout]     |
[INFO] [stdout] 239 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[32..40]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:240:59
[INFO] [stdout]     |
[INFO] [stdout] 240 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[40..48]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:241:59
[INFO] [stdout]     |
[INFO] [stdout] 241 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[48..56]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:242:59
[INFO] [stdout]     |
[INFO] [stdout] 242 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[56..64]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:243:59
[INFO] [stdout]     |
[INFO] [stdout] 243 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[64..72]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:244:59
[INFO] [stdout]     |
[INFO] [stdout] 244 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[72..80]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:245:59
[INFO] [stdout]     |
[INFO] [stdout] 245 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[80..88]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:246:59
[INFO] [stdout]     |
[INFO] [stdout] 246 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[88..96]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:312:23
[INFO] [stdout]     |
[INFO] [stdout] 312 |             for i in (0..64).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:448:14
[INFO] [stdout]     |
[INFO] [stdout] 448 |             (0..6).fold((0, 0, 0, 0, 0, 0), |(u0, u1, u2, u3, u4, u5), j| {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:451:53
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 let (t0, t1, t2, t3, t4, t5, t6) = (0..T).fold(
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp2.rs:327:23
[INFO] [stdout]     |
[INFO] [stdout] 327 |             for i in (0..64).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/fp2.rs:362:13
[INFO] [stdout]     |
[INFO] [stdout] 362 |         res[48..].copy_from_slice(&self.c0.to_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         res[0..48].copy_from_slice(
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |         res[48..96].copy_from_slice(
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:282:40
[INFO] [stdout]     |
[INFO] [stdout] 282 |             tmp.copy_from_slice(&bytes[0..48]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:293:40
[INFO] [stdout]     |
[INFO] [stdout] 293 |             tmp.copy_from_slice(&bytes[48..96]);
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:346:40
[INFO] [stdout]     |
[INFO] [stdout] 346 |             tmp.copy_from_slice(&bytes[0..48]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:746:31
[INFO] [stdout]     |
[INFO] [stdout] 746 |             .flat_map(|byte| (0..8).rev().map(move |i| Choice::from((byte >> i) & 1u8)))
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:261:19
[INFO] [stdout]     |
[INFO] [stdout] 261 |         (&mut res[0..48]).copy_from_slice(&x.c1.to_bytes()[..]);
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:262:19
[INFO] [stdout]     |
[INFO] [stdout] 262 |         (&mut res[48..96]).copy_from_slice(&x.c0.to_bytes()[..]);
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |         res[0..48].copy_from_slice(&x.c1.to_bytes()[..]);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         res[48..96].copy_from_slice(&x.c0.to_bytes()[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |         res[96..144].copy_from_slice(&y.c1.to_bytes()[..]);
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 |         res[144..192].copy_from_slice(&y.c0.to_bytes()[..]);
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:321:40
[INFO] [stdout]     |
[INFO] [stdout] 321 |             tmp.copy_from_slice(&bytes[0..48]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:330:40
[INFO] [stdout]     |
[INFO] [stdout] 330 |             tmp.copy_from_slice(&bytes[48..96]);
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:338:40
[INFO] [stdout]     |
[INFO] [stdout] 338 |             tmp.copy_from_slice(&bytes[96..144]);
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:344:40
[INFO] [stdout]     |
[INFO] [stdout] 344 |             tmp.copy_from_slice(&bytes[144..192]);
[INFO] [stdout]     |                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:410:40
[INFO] [stdout]     |
[INFO] [stdout] 410 |             tmp.copy_from_slice(&bytes[0..48]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:419:40
[INFO] [stdout]     |
[INFO] [stdout] 419 |             tmp.copy_from_slice(&bytes[48..96]);
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:817:31
[INFO] [stdout]     |
[INFO] [stdout] 817 |             .flat_map(|byte| (0..8).rev().map(move |i| Choice::from((byte >> i) & 1u8)))
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/fp12.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         res[288..].copy_from_slice(&self.c0.to_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp6.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         res[96..192].copy_from_slice(&self.c1.to_bytes());
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/fp6.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         res[192..].copy_from_slice(&self.c0.to_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pairings.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |             for i in (0..64).rev().map(|b| ((x >> b) & 1) == 1) {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pairings.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |             .flat_map(|byte| (0..8).rev().map(move |i| Choice::from((byte >> i) & 1u8)))
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pairings.rs:682:15
[INFO] [stdout]     |
[INFO] [stdout] 682 |     for i in (0..64).rev().map(|b| (((BLS_X >> 1) >> b) & 1) == 1) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stdout] warning: 79 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking criterion v0.3.6
[INFO] [stdout] error[E0463]: can't find crate for `bls12_381`
[INFO] [stdout]  --> benches/groups.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | extern crate bls12_381;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let g = G1Affine::generator();
[INFO] [stdout]    |                 ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]   --> benches/groups.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let h = G2Affine::generator();
[INFO] [stdout]    |                 ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G2Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected function, found crate `pairing`
[INFO] [stdout]   --> benches/groups.rs:15:23
[INFO] [stdout]    |
[INFO] [stdout] 15 |             b.iter(|| pairing(black_box(&g), black_box(&h)))
[INFO] [stdout]    |                       ^^^^^^^ not a function
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function instead
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::pairing;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Prepared`
[INFO] [stdout]   --> benches/groups.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |             b.iter(|| G2Prepared::from(h))
[INFO] [stdout]    |                       ^^^^^^^^^^ use of undeclared type `G2Prepared`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G2Prepared;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Prepared`
[INFO] [stdout]   --> benches/groups.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let prep = G2Prepared::from(h);
[INFO] [stdout]    |                    ^^^^^^^^^^ use of undeclared type `G2Prepared`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G2Prepared;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `multi_miller_loop` in this scope
[INFO] [stdout]   --> benches/groups.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |             b.iter(|| multi_miller_loop(&[(&g, &prep)]))
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::multi_miller_loop;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Prepared`
[INFO] [stdout]   --> benches/groups.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let prep = G2Prepared::from(h);
[INFO] [stdout]    |                    ^^^^^^^^^^ use of undeclared type `G2Prepared`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G2Prepared;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `multi_miller_loop` in this scope
[INFO] [stdout]   --> benches/groups.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let r = multi_miller_loop(&[(&g, &prep)]);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::multi_miller_loop;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:33:17
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let a = G1Affine::generator();
[INFO] [stdout]    |                 ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Scalar`
[INFO] [stdout]   --> benches/groups.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let s = Scalar::from_raw([1, 2, 3, 4]);
[INFO] [stdout]    |                 ^^^^^^ use of undeclared type `Scalar`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::Scalar;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:51:32
[INFO] [stdout]    |
[INFO] [stdout] 51 |             move |b| b.iter(|| G1Affine::from_compressed(black_box(&compressed))),
[INFO] [stdout]    |                                ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:55:32
[INFO] [stdout]    |
[INFO] [stdout] 55 |             move |b| b.iter(|| G1Affine::from_uncompressed(black_box(&uncompressed))),
[INFO] [stdout]    |                                ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Projective`
[INFO] [stdout]   --> benches/groups.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let a = G1Projective::generator();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ use of undeclared type `G1Projective`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Projective;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:63:24
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let a_affine = G1Affine::generator();
[INFO] [stdout]    |                        ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Scalar`
[INFO] [stdout]   --> benches/groups.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let s = Scalar::from_raw([1, 2, 3, 4]);
[INFO] [stdout]    |                 ^^^^^^ use of undeclared type `Scalar`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::Scalar;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Projective`
[INFO] [stdout]   --> benches/groups.rs:67:22
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let v = vec![G1Projective::generator(); N];
[INFO] [stdout]    |                      ^^^^^^^^^^^^ use of undeclared type `G1Projective`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Projective;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:68:26
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut q = vec![G1Affine::identity(); N];
[INFO] [stdout]    |                          ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Affine`
[INFO] [stdout]   --> benches/groups.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |             b.iter(|| G1Affine::from(black_box(a)))
[INFO] [stdout]    |                       ^^^^^^^^ use of undeclared type `G1Affine`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Affine;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G1Projective`
[INFO] [stdout]   --> benches/groups.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 G1Projective::batch_normalize(black_box(&v), black_box(&mut q));
[INFO] [stdout]    |                 ^^^^^^^^^^^^ use of undeclared type `G1Projective`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 5  + use ic_bls12_381::G1Projective;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let a = G2Affine::generator();
[INFO] [stdout]     |                 ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Scalar`
[INFO] [stdout]    --> benches/groups.rs:103:17
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let s = Scalar::from_raw([1, 2, 3, 4]);
[INFO] [stdout]     |                 ^^^^^^ use of undeclared type `Scalar`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::Scalar;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |             move |b| b.iter(|| G2Affine::from_compressed(black_box(&compressed))),
[INFO] [stdout]     |                                ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:124:32
[INFO] [stdout]     |
[INFO] [stdout] 124 |             move |b| b.iter(|| G2Affine::from_uncompressed(black_box(&uncompressed))),
[INFO] [stdout]     |                                ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Projective`
[INFO] [stdout]    --> benches/groups.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let a = G2Projective::generator();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ use of undeclared type `G2Projective`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Projective;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let a_affine = G2Affine::generator();
[INFO] [stdout]     |                        ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Scalar`
[INFO] [stdout]    --> benches/groups.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let s = Scalar::from_raw([1, 2, 3, 4]);
[INFO] [stdout]     |                 ^^^^^^ use of undeclared type `Scalar`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::Scalar;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Projective`
[INFO] [stdout]    --> benches/groups.rs:136:22
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let v = vec![G2Projective::generator(); N];
[INFO] [stdout]     |                      ^^^^^^^^^^^^ use of undeclared type `G2Projective`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Projective;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:137:26
[INFO] [stdout]     |
[INFO] [stdout] 137 |         let mut q = vec![G2Affine::identity(); N];
[INFO] [stdout]     |                          ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Affine`
[INFO] [stdout]    --> benches/groups.rs:146:23
[INFO] [stdout]     |
[INFO] [stdout] 146 |             b.iter(|| G2Affine::from(black_box(a)))
[INFO] [stdout]     |                       ^^^^^^^^ use of undeclared type `G2Affine`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Affine;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `G2Projective`
[INFO] [stdout]    --> benches/groups.rs:162:17
[INFO] [stdout]     |
[INFO] [stdout] 162 |                 G2Projective::batch_normalize(black_box(&v), black_box(&mut q));
[INFO] [stdout]     |                 ^^^^^^^^^^^^ use of undeclared type `G2Projective`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 5   + use ic_bls12_381::G2Projective;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 31 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0425, E0433, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ic_bls12_381` (bench "groups") due to 32 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |               for _ in 0..1000 {
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 | /     test_vectors!(
[INFO] [stdout] 34 | |         G1Projective,
[INFO] [stdout] 35 | |         G1Affine,
[INFO] [stdout] 36 | |         to_uncompressed,
[INFO] [stdout] 37 | |         from_uncompressed,
[INFO] [stdout] 38 | |         bytes
[INFO] [stdout] 39 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:17:62
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   (&mut decoded[..]).copy_from_slice(&expected[0..len_of_encoding]);
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 | /     test_vectors!(
[INFO] [stdout] 34 | |         G1Projective,
[INFO] [stdout] 35 | |         G1Affine,
[INFO] [stdout] 36 | |         to_uncompressed,
[INFO] [stdout] 37 | |         from_uncompressed,
[INFO] [stdout] 38 | |         bytes
[INFO] [stdout] 39 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:18:38
[INFO] [stdout]    |
[INFO] [stdout] 18 |                   expected = &expected[len_of_encoding..];
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 | /     test_vectors!(
[INFO] [stdout] 34 | |         G1Projective,
[INFO] [stdout] 35 | |         G1Affine,
[INFO] [stdout] 36 | |         to_uncompressed,
[INFO] [stdout] 37 | |         from_uncompressed,
[INFO] [stdout] 38 | |         bytes
[INFO] [stdout] 39 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |               for _ in 0..1000 {
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 | /     test_vectors!(
[INFO] [stdout] 46 | |         G1Projective,
[INFO] [stdout] 47 | |         G1Affine,
[INFO] [stdout] 48 | |         to_compressed,
[INFO] [stdout] 49 | |         from_compressed,
[INFO] [stdout] 50 | |         bytes
[INFO] [stdout] 51 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:17:62
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   (&mut decoded[..]).copy_from_slice(&expected[0..len_of_encoding]);
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 | /     test_vectors!(
[INFO] [stdout] 46 | |         G1Projective,
[INFO] [stdout] 47 | |         G1Affine,
[INFO] [stdout] 48 | |         to_compressed,
[INFO] [stdout] 49 | |         from_compressed,
[INFO] [stdout] 50 | |         bytes
[INFO] [stdout] 51 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:18:38
[INFO] [stdout]    |
[INFO] [stdout] 18 |                   expected = &expected[len_of_encoding..];
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 | /     test_vectors!(
[INFO] [stdout] 46 | |         G1Projective,
[INFO] [stdout] 47 | |         G1Affine,
[INFO] [stdout] 48 | |         to_compressed,
[INFO] [stdout] 49 | |         from_compressed,
[INFO] [stdout] 50 | |         bytes
[INFO] [stdout] 51 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |               for _ in 0..1000 {
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 | /     test_vectors!(
[INFO] [stdout] 58 | |         G2Projective,
[INFO] [stdout] 59 | |         G2Affine,
[INFO] [stdout] 60 | |         to_uncompressed,
[INFO] [stdout] 61 | |         from_uncompressed,
[INFO] [stdout] 62 | |         bytes
[INFO] [stdout] 63 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:17:62
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   (&mut decoded[..]).copy_from_slice(&expected[0..len_of_encoding]);
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 | /     test_vectors!(
[INFO] [stdout] 58 | |         G2Projective,
[INFO] [stdout] 59 | |         G2Affine,
[INFO] [stdout] 60 | |         to_uncompressed,
[INFO] [stdout] 61 | |         from_uncompressed,
[INFO] [stdout] 62 | |         bytes
[INFO] [stdout] 63 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:18:38
[INFO] [stdout]    |
[INFO] [stdout] 18 |                   expected = &expected[len_of_encoding..];
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 | /     test_vectors!(
[INFO] [stdout] 58 | |         G2Projective,
[INFO] [stdout] 59 | |         G2Affine,
[INFO] [stdout] 60 | |         to_uncompressed,
[INFO] [stdout] 61 | |         from_uncompressed,
[INFO] [stdout] 62 | |         bytes
[INFO] [stdout] 63 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |               for _ in 0..1000 {
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 | /     test_vectors!(
[INFO] [stdout] 70 | |         G2Projective,
[INFO] [stdout] 71 | |         G2Affine,
[INFO] [stdout] 72 | |         to_compressed,
[INFO] [stdout] 73 | |         from_compressed,
[INFO] [stdout] 74 | |         bytes
[INFO] [stdout] 75 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:17:62
[INFO] [stdout]    |
[INFO] [stdout] 17 |                   (&mut decoded[..]).copy_from_slice(&expected[0..len_of_encoding]);
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 | /     test_vectors!(
[INFO] [stdout] 70 | |         G2Projective,
[INFO] [stdout] 71 | |         G2Affine,
[INFO] [stdout] 72 | |         to_compressed,
[INFO] [stdout] 73 | |         from_compressed,
[INFO] [stdout] 74 | |         bytes
[INFO] [stdout] 75 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tests/mod.rs:18:38
[INFO] [stdout]    |
[INFO] [stdout] 18 |                   expected = &expected[len_of_encoding..];
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 | /     test_vectors!(
[INFO] [stdout] 70 | |         G2Projective,
[INFO] [stdout] 71 | |         G2Affine,
[INFO] [stdout] 72 | |         to_compressed,
[INFO] [stdout] 73 | |         from_compressed,
[INFO] [stdout] 74 | |         bytes
[INFO] [stdout] 75 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `test_vectors` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:234:66
[INFO] [stdout]     |
[INFO] [stdout] 234 |         tmp.0[0] = u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[0..8]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:235:66
[INFO] [stdout]     |
[INFO] [stdout] 235 |         tmp.0[1] = u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[8..16]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:236:66
[INFO] [stdout]     |
[INFO] [stdout] 236 |         tmp.0[2] = u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[16..24]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:237:66
[INFO] [stdout]     |
[INFO] [stdout] 237 |         tmp.0[3] = u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[24..32]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         res[0..8].copy_from_slice(&tmp.0[0].to_le_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         res[8..16].copy_from_slice(&tmp.0[1].to_le_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |         res[16..24].copy_from_slice(&tmp.0[2].to_le_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:268:13
[INFO] [stdout]     |
[INFO] [stdout] 268 |         res[24..32].copy_from_slice(&tmp.0[3].to_le_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:277:59
[INFO] [stdout]     |
[INFO] [stdout] 277 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[0..8]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:278:59
[INFO] [stdout]     |
[INFO] [stdout] 278 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[8..16]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:279:59
[INFO] [stdout]     |
[INFO] [stdout] 279 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[16..24]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:280:59
[INFO] [stdout]     |
[INFO] [stdout] 280 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[24..32]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:281:59
[INFO] [stdout]     |
[INFO] [stdout] 281 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[32..40]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:282:59
[INFO] [stdout]     |
[INFO] [stdout] 282 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[40..48]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:283:59
[INFO] [stdout]     |
[INFO] [stdout] 283 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[48..56]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:284:59
[INFO] [stdout]     |
[INFO] [stdout] 284 |             u64::from_le_bytes(<[u8; 8]>::try_from(&bytes[56..64]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/scalar.rs:367:23
[INFO] [stdout]     |
[INFO] [stdout] 367 |         for max_v in (1..=S).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:372:22
[INFO] [stdout]     |
[INFO] [stdout] 372 |             for j in 2..max_v {
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:400:23
[INFO] [stdout]     |
[INFO] [stdout] 400 |             for i in (0..64).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:419:23
[INFO] [stdout]     |
[INFO] [stdout] 419 |             for i in (0..64).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:435:22
[INFO] [stdout]     |
[INFO] [stdout] 435 |             for _ in 0..num_times {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:756:38
[INFO] [stdout]     |
[INFO] [stdout] 756 |             u64::from_le_bytes(bytes[0..8].try_into().unwrap()),
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:757:38
[INFO] [stdout]     |
[INFO] [stdout] 757 |             u64::from_le_bytes(bytes[8..16].try_into().unwrap()),
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:758:38
[INFO] [stdout]     |
[INFO] [stdout] 758 |             u64::from_le_bytes(bytes[16..24].try_into().unwrap()),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:759:38
[INFO] [stdout]     |
[INFO] [stdout] 759 |             u64::from_le_bytes(bytes[24..32].try_into().unwrap()),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/scalar.rs:794:14
[INFO] [stdout]     |
[INFO] [stdout] 794 |     for _ in 0..63 {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/scalar.rs:1078:14
[INFO] [stdout]      |
[INFO] [stdout] 1078 |     for _ in 0..100 {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/scalar.rs:1087:31
[INFO] [stdout]      |
[INFO] [stdout] 1087 |             .flat_map(|byte| (0..8).rev().map(move |i| ((byte >> i) & 1u8) == 1u8))
[INFO] [stdout]      |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/scalar.rs:1107:14
[INFO] [stdout]      |
[INFO] [stdout] 1107 |     for _ in 0..100 {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/scalar.rs:1116:31
[INFO] [stdout]      |
[INFO] [stdout] 1116 |             .flat_map(|byte| (0..8).rev().map(move |i| ((byte >> i) & 1u8) == 1u8))
[INFO] [stdout]      |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/scalar.rs:1140:14
[INFO] [stdout]      |
[INFO] [stdout] 1140 |     for _ in 0..100 {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/scalar.rs:1163:14
[INFO] [stdout]      |
[INFO] [stdout] 1163 |     for _ in 0..100 {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/scalar.rs:1192:14
[INFO] [stdout]      |
[INFO] [stdout] 1192 |     for _ in 0..100 {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:182:66
[INFO] [stdout]     |
[INFO] [stdout] 182 |         tmp.0[5] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[0..8]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:183:66
[INFO] [stdout]     |
[INFO] [stdout] 183 |         tmp.0[4] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[8..16]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:184:66
[INFO] [stdout]     |
[INFO] [stdout] 184 |         tmp.0[3] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[16..24]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:185:66
[INFO] [stdout]     |
[INFO] [stdout] 185 |         tmp.0[2] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[24..32]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:186:66
[INFO] [stdout]     |
[INFO] [stdout] 186 |         tmp.0[1] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[32..40]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:187:66
[INFO] [stdout]     |
[INFO] [stdout] 187 |         tmp.0[0] = u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[40..48]).unwrap());
[INFO] [stdout]     |                                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         res[0..8].copy_from_slice(&tmp.0[5].to_be_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |         res[8..16].copy_from_slice(&tmp.0[4].to_be_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         res[16..24].copy_from_slice(&tmp.0[3].to_be_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |         res[24..32].copy_from_slice(&tmp.0[2].to_be_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         res[32..40].copy_from_slice(&tmp.0[1].to_be_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         res[40..48].copy_from_slice(&tmp.0[0].to_be_bytes());
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:235:59
[INFO] [stdout]     |
[INFO] [stdout] 235 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[0..8]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:236:59
[INFO] [stdout]     |
[INFO] [stdout] 236 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[8..16]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:237:59
[INFO] [stdout]     |
[INFO] [stdout] 237 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[16..24]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:238:59
[INFO] [stdout]     |
[INFO] [stdout] 238 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[24..32]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:239:59
[INFO] [stdout]     |
[INFO] [stdout] 239 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[32..40]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:240:59
[INFO] [stdout]     |
[INFO] [stdout] 240 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[40..48]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:241:59
[INFO] [stdout]     |
[INFO] [stdout] 241 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[48..56]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:242:59
[INFO] [stdout]     |
[INFO] [stdout] 242 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[56..64]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:243:59
[INFO] [stdout]     |
[INFO] [stdout] 243 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[64..72]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:244:59
[INFO] [stdout]     |
[INFO] [stdout] 244 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[72..80]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:245:59
[INFO] [stdout]     |
[INFO] [stdout] 245 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[80..88]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:246:59
[INFO] [stdout]     |
[INFO] [stdout] 246 |             u64::from_be_bytes(<[u8; 8]>::try_from(&bytes[88..96]).unwrap()),
[INFO] [stdout]     |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:312:23
[INFO] [stdout]     |
[INFO] [stdout] 312 |             for i in (0..64).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:448:14
[INFO] [stdout]     |
[INFO] [stdout] 448 |             (0..6).fold((0, 0, 0, 0, 0, 0), |(u0, u1, u2, u3, u4, u5), j| {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:451:53
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 let (t0, t1, t2, t3, t4, t5, t6) = (0..T).fold(
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp.rs:862:14
[INFO] [stdout]     |
[INFO] [stdout] 862 |     for _ in 0..100 {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp2.rs:327:23
[INFO] [stdout]     |
[INFO] [stdout] 327 |             for i in (0..64).rev() {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/fp2.rs:362:13
[INFO] [stdout]     |
[INFO] [stdout] 362 |         res[48..].copy_from_slice(&self.c0.to_bytes());
[INFO] [stdout]     |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         res[0..48].copy_from_slice(
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:252:13
[INFO] [stdout]     |
[INFO] [stdout] 252 |         res[48..96].copy_from_slice(
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:282:40
[INFO] [stdout]     |
[INFO] [stdout] 282 |             tmp.copy_from_slice(&bytes[0..48]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:293:40
[INFO] [stdout]     |
[INFO] [stdout] 293 |             tmp.copy_from_slice(&bytes[48..96]);
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:346:40
[INFO] [stdout]     |
[INFO] [stdout] 346 |             tmp.copy_from_slice(&bytes[0..48]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g1.rs:746:31
[INFO] [stdout]     |
[INFO] [stdout] 746 |             .flat_map(|byte| (0..8).rev().map(move |i| Choice::from((byte >> i) & 1u8)))
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g1.rs:1342:18
[INFO] [stdout]      |
[INFO] [stdout] 1342 |         for _ in 0..5 {
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g1.rs:1463:18
[INFO] [stdout]      |
[INFO] [stdout] 1463 |         for _ in 0..5 {
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g1.rs:1676:24
[INFO] [stdout]      |
[INFO] [stdout] 1676 |     for a_identity in (0..1).map(|n| n == 1) {
[INFO] [stdout]      |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g1.rs:1677:28
[INFO] [stdout]      |
[INFO] [stdout] 1677 |         for b_identity in (0..1).map(|n| n == 1) {
[INFO] [stdout]      |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g1.rs:1678:32
[INFO] [stdout]      |
[INFO] [stdout] 1678 |             for c_identity in (0..1).map(|n| n == 1) {
[INFO] [stdout]      |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:261:19
[INFO] [stdout]     |
[INFO] [stdout] 261 |         (&mut res[0..48]).copy_from_slice(&x.c1.to_bytes()[..]);
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:262:19
[INFO] [stdout]     |
[INFO] [stdout] 262 |         (&mut res[48..96]).copy_from_slice(&x.c0.to_bytes()[..]);
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 290 |         res[0..48].copy_from_slice(&x.c1.to_bytes()[..]);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:291:13
[INFO] [stdout]     |
[INFO] [stdout] 291 |         res[48..96].copy_from_slice(&x.c0.to_bytes()[..]);
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:292:13
[INFO] [stdout]     |
[INFO] [stdout] 292 |         res[96..144].copy_from_slice(&y.c1.to_bytes()[..]);
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 |         res[144..192].copy_from_slice(&y.c0.to_bytes()[..]);
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:321:40
[INFO] [stdout]     |
[INFO] [stdout] 321 |             tmp.copy_from_slice(&bytes[0..48]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:330:40
[INFO] [stdout]     |
[INFO] [stdout] 330 |             tmp.copy_from_slice(&bytes[48..96]);
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:338:40
[INFO] [stdout]     |
[INFO] [stdout] 338 |             tmp.copy_from_slice(&bytes[96..144]);
[INFO] [stdout]     |                                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:344:40
[INFO] [stdout]     |
[INFO] [stdout] 344 |             tmp.copy_from_slice(&bytes[144..192]);
[INFO] [stdout]     |                                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:410:40
[INFO] [stdout]     |
[INFO] [stdout] 410 |             tmp.copy_from_slice(&bytes[0..48]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:419:40
[INFO] [stdout]     |
[INFO] [stdout] 419 |             tmp.copy_from_slice(&bytes[48..96]);
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/g2.rs:817:31
[INFO] [stdout]     |
[INFO] [stdout] 817 |             .flat_map(|byte| (0..8).rev().map(move |i| Choice::from((byte >> i) & 1u8)))
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g2.rs:1540:18
[INFO] [stdout]      |
[INFO] [stdout] 1540 |         for _ in 0..5 {
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g2.rs:1704:18
[INFO] [stdout]      |
[INFO] [stdout] 1704 |         for _ in 0..5 {
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g2.rs:2079:24
[INFO] [stdout]      |
[INFO] [stdout] 2079 |     for a_identity in (0..1).map(|n| n == 1) {
[INFO] [stdout]      |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g2.rs:2080:28
[INFO] [stdout]      |
[INFO] [stdout] 2080 |         for b_identity in (0..1).map(|n| n == 1) {
[INFO] [stdout]      |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/g2.rs:2081:32
[INFO] [stdout]      |
[INFO] [stdout] 2081 |             for c_identity in (0..1).map(|n| n == 1) {
[INFO] [stdout]      |                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/fp12.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         res[288..].copy_from_slice(&self.c0.to_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/fp6.rs:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         res[96..192].copy_from_slice(&self.c1.to_bytes());
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/fp6.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         res[192..].copy_from_slice(&self.c0.to_bytes());
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pairings.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |             for i in (0..64).rev().map(|b| ((x >> b) & 1) == 1) {
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pairings.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |             .flat_map(|byte| (0..8).rev().map(move |i| Choice::from((byte >> i) & 1u8)))
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pairings.rs:682:15
[INFO] [stdout]     |
[INFO] [stdout] 682 |     for i in (0..64).rev().map(|b| (((BLS_X >> 1) >> b) & 1) == 1) {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 110 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7f529928184b886438fa8622e0d03da01beefec989898b589bc23ae0efe4faa1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f529928184b886438fa8622e0d03da01beefec989898b589bc23ae0efe4faa1", kill_on_drop: false }`
[INFO] [stdout] 7f529928184b886438fa8622e0d03da01beefec989898b589bc23ae0efe4faa1
